package lesson02;

import java.io.File;
import java.io.IOException;
import java.util.Locale;
import java.util.Scanner;

public class Demo_209 {

    public static void main(String[] args) throws IOException {
        //1.输入一个路径
        System.out.println("请输入一个路径:");
        Scanner scanner = new Scanner(System.in);
        File rootPath = new File(scanner.next());
        //2.验证路径是否存在
        //3.路径指向的是否是一个文件
        if (!rootPath.exists() || !rootPath.isDirectory()) {
            System.out.println("您输入的路径不存在.");
            System.out.println("您输入的路径不是一个目录.");
            return;
        }
        //4.输入指定普通文件名
        System.out.println("请输入一个文件名:");
        String keyword = scanner.next();
        if (keyword == null || keyword.isEmpty()) {
            return;
        }
        scan(rootPath, keyword);
    }


    private static void scan(File rootPath, String keyword) throws IOException {
        //5.定义一个集合来递归此目录，查找此目录中是否有指定的文件名
        File[] files = rootPath.listFiles();
        if (files.length == 0) {
            return;
        }
        //6.验证普通文件名是否存在

        for (File file : files) {
            if (file.exists()){
                String fileName = file.getName();
                if (fileName.contains(keyword)){
                    System.out.println("找到文件：" + file.getCanonicalPath()
                            + "，包含关键字 " + keyword + ", 是否删除？(Y/N)");
                    Scanner scanner = new Scanner(System.in);
                    String date = scanner.next();
                    if (date.toLowerCase().equals("y")){
                        //7.是否删除文件
                        file.delete();
                        System.out.println("删除文件：" + file.getCanonicalPath() + "成功");
                    }
                }
            }else {
                scan(file,keyword);
            }

        }



    }
}
